AWSにParsecを使ったゲーミングPCをこさえてみる
最近Parsecというサービスを調べる機会があったのでご紹介しようと思います。
Parsecはリモートデスクトップのサービスで、低遅延アクセスをうりにしています。 リモートアクセスの技術を厳しいゲームでテストしているため、大体の用途にも使用できるとのことです。
(開発、デザイン、アニメーション、動画編集、放送 など)
独自プロトコルで通信をしています。
今回はこれを使ってリモートでゲームをできる環境を作ってみようと思います。
※ こんなイメージ
実際にゲームを実行しているのはAWS側のマシンで(ホスト), プレイヤーはParsec経由でホストから送られてくる映像を見てゲームをプレイします(クライアント)
やってみる
AWSにホストマシンを作る
AWSのマネージメントコンソールにログインし、EC2をセットアップしていきます。
リージョンは東京です。
Parsecでゲームセッションをホストするためのハードウェア要件 を満たすスペックで作成していきます。
- Microsoft Windows Server 2019 Base を選択
-
g4dn.xlarge を選択
-
インスタンスの詳細の設定 はそのままでも良いですし、VPCなどを自身の環境に合わせて設定します
-
ストレージは必要なだけ ですが、その分コストはかかってきます(今回は100GBのgp2にしてみました)
-
必要なだけタグを設定します
-
セキュリティグループ
デフォルトのままでいきます。セキュリティグループには、RDP用のポート3389が含まれています。 これは、RDPを使用してインスタンスを最初に構成するためです。
- 設定した内容を確認後、起動します
Parsecインストール時に使用するIAMユーザーを作成
IAMダッシュボードに移動し、IAMユーザーを作成します。
このユーザーはParsecをインストールするときに必要になります(GPUドライバのアップロード。S3からダウンロードする)
AmazonS3ReadOnlyAccess
ポリシーをつけてIAMユーザーを作成し、アクセスキーと シークレットアクセスキーは安全なところに保存しておきましょう。
ホストマシンにParsecをインストール
EC2が起動したら、RDPを利用してEC2にアクセスします。
- CTRL + ALT + DELETEを無効にする
スタートメニューから
Local Security Policy
を検索し、Local Policies -> Security Options
を選択します。Interactive Logon: Do not require CTRL + ALT + DEL
をEnabled
にします。 -
スクリプトを使ってParsecをインストール
Parsecが公開しているクラウドマシン用のインストールスクリプトを使います。
これは、Parsecだけでなく、他に必要なものもインストールされます(DirectX 11、Chrome、.NET、7zipなど)
[Net.ServicePointManager]::SecurityProtocol = "tls12, tls11, tls" $ScriptWebArchive = "https://github.com/parsec-cloud/Parsec-Cloud-Preparation-Tool/archive/master.zip" $LocalArchivePath = "$ENV:UserProfile\Downloads\Parsec-Cloud-Preparation-Tool" (New-Object System.Net.WebClient).DownloadFile($ScriptWebArchive, "$LocalArchivePath.zip") Expand-Archive "$LocalArchivePath.zip" -DestinationPath $LocalArchivePath -Force CD $LocalArchivePath\Parsec-Cloud-Preparation-Tool-master\ | powershell.exe .\Loader.ps1
上記スクリプトをPowershellにコピーし、エンターキーを押してインストール開始です。
Parsecがインストールされると、クライアントアプリが立ち上がるのでログインします。
Razer Synapse がインストールされた後もログインを求められますが、これは無視して閉じで大丈夫です。
GPUドライバーのアップデートをする際に、IAMのアクセスキーとシークレットキーを求められますので、事前に作成したIAMユーザーのものを使います。
アクセスキーを保存するかなどを聞かれるので Y
と入力します。
ドライバがインストールされると、再起動する必要があるかどうかが通知され流ので、再起動した場合はまたRDPでマシンに接続します。
ホストマシンのParsec設定
Parsecのアプリを立ち上げ、Settings->HOST
で以下の設定をします。
Host Name
を わかりやすい名前に設定しましょうBandwidth Limit
を 50Mbps に- (クライアントマシンがmacOSの場合)
Resolution
を クライアントマシンの解像度に合わせます。
必要に応じて他の設定も変更します。
参考:
ホストマシンのその他の設定
Setup Auto Shutdown
というスクリプトがデスクトップに置いてあります。これは指定したアイドル時間を過ぎると自動的にシャットダウンしてくれるものです。
必要に応じて設定します。
Setup One Hour Warning
というスクリプトがデスクトップに置いてあります。これは1時間接続すると警告が表示されるようにするものです。
これも必要に応じて設定しておきます。
設定が終わったらRDPでの接続を切ります。これ以降はParsec経由で接続します。
AWS側で
- インストール時に使用したIAMユーザーの削除 or アクセスキーの無効化
- EC2のセキュリティグループにあるRDPのインバウンドを削除
を行っておきます。
クライアントからParsec経由で接続してみる
接続元となるクライアントマシンで、https://parsec.app/downloads/ からParsecアプリをダウンロードし、インストールします。
アプリからログイン後、Computersに先ほど作成したHostマシンが表示されているはずです
CONNECT
ボタンを押して接続してみます。
正しく設定できていれば上記のように接続できます。
接続に失敗した場合、アプリにエラーコードとメッセージが表示されるので、以下のページを参考にして解決できないか探りましょう。
あとは普通にPCで作業したり、ゲームをしたりするのと同じです。かなりヌルヌル動くことがわかるでしょう。
ゲームの映像
実際にプレイしてみた映像を載せておきます。
ゲームにもよると思いますが、ストリーミングされた映像でも快適にプレイできました
インターネットの回線はそこそこ速くないときついかなと思います。
最後に
- 手元にハイスペックなPCがなくてもクラウドでマシンを立ち上げてゲームができる
- そんなにラグを気にしなくて良い
- そこそこのグラフィック
といった特徴があるので、このクラウドゲーミングという選択肢もありなんじゃないかと思いました。
ゲームだけでなく、動画編集やプログラミングなどにも使えるので使い勝手は良いサービスだと思います。
個人利用が無料で 低遅延、60FPSデスクトップキャプチャ が使用可能なので、興味がある方は是非使ってみてください。
おまけ
有料でTeamsという機能もあり、これならコンピューターの管理、接続ユーザーの管理などもできて、場所を選ばずチームでいろいろな作業ができます。